Used in compiled databases to release control back to the 4D engine. 4D cannot interrupt code where no 4D commands are called. For instance, a  For loop with millions of iterations cannot be interupted without at least one 4D command. If no 4D commands are needed, use IDLE.
IDLE is designed only for 4D COMPILER. This command is useful only in compiled databases when user defined procedures are written such that no calls are made back to the 4th DIMENSION engine. For instance, if a procedure has a For loop in which no 4th DIMENSION commands are executed, the loop could not be interrupted by a process installed with ON SERIAL PORT CALL or ON EVENT CALL nor could a user switch to another application under MultiFinder. In this case IDLE should be inserted to allow 4th DIMENSION to trap events. Of course if you do not want any interruptions, IDLE can be left out.
In the following example the loop would never terminate in a compiled database without the call to IDLE:
ON EVENT CALL ("EventProc")
$Done:=False
MESSAGE ("Processing..."+Char (13)+"Type any key to
interrupt...")
Repeat ` Do some processing that doesn't involve a 4D command.
IDLE
Until ($Done)
See also:  Char,  For,  MESSAGE, ON EVENT CALL,